﻿using System;
using System.ComponentModel.DataAnnotations;
using Tesla.Validador;
using Rendiciones.Logica.Enumeradores;

namespace Rendiciones.Logica.Modelos.Validaciones
{
    public class DebeAgregarAdministrador : ValidationAttribute
    {
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            var proyecto = validationContext.ObjectInstance as Proyecto;
            if (proyecto == null)
                throw new ValidationException("La validación no es compatible con el modelo que esta utilizando");

            return proyecto.IdAdministrador.Equals(0) ?
                new UsefullValidationResult(new[] { validationContext.MemberName }, EValidationResolution.Error, ErrorMessage) :
                new UsefullValidationResult(new[] { validationContext.MemberName }, EValidationResolution.Success);
        }
    }
}